home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
dm3_src.zip
/
DMDATA.C
< prev
next >
Wrap
Text File
|
1990-04-07
|
23KB
|
381 lines
/* ************************************************************************* */
/* */
/* D O O R W A R E D A T A L I B R A R Y */
/* */
/* For Mycrosoft C */
/* */
/* ************************************************************************* */
/* ************************************************************************* */
/* PROGRAM HISTORY */
/* ************************************************************************* */
/* 06/20/87 Version 1.00 */
/* */
/* */
/* */
/* */
/* ************************************************************************* */
#include "dmcfg.h" /* Std defines & includes */
/*
*
* Definitions
*
*/
#define DAY_SECONDS 86400L
#define BLACK 0x00
#define BLUE 0x01
#define GREEN 0x02
#define CYAN 0x03
#define RED 0x04
#define MAGENTA 0x05
#define BROWN 0x06
#define LIGHT_GREY 0x07
#define DARK_GREY 0x08
#define LIGHT_BLUE 0x09
#define LIGHT_GREEN 0x0a
#define LIGHT_CYAN 0x0b
#define LIGHT_RED 0x0c
#define LIGHT_MAGENTA 0x0d
#define YELLOW 0x0e
#define WHITE 0x0f
struct bbs_node /* NODE INFORMATION */
{
char name[31]; /* Last users name */
char sysop_avail[2]; /* SysOp available flag */
char sysop_annoy[2]; /* SysOp annoy flag */
char sysop_next[2]; /* SysOp next on system flag */
char line_printer[2]; /* Line printer avail flag */
char doors_avail[2]; /* DOORS available flag */
char eight_bits[2]; /* Eight bit transmit flag */
char baud_rate[2]; /* Baud rate */
char upper_case[2]; /* Upper case only flag */
char reserve_1[5]; /* Reserved */
char graphics_type[2]; /* Graphics type flag */
char sysop[2]; /* User is SysOp flag */
char active[1]; /* Activity flag */
char snoop[2]; /* Snoop indicator */
char baud_dial[2]; /* Dialed in baud rate */
char reserved_2[2]; /* Reserved */
char login_time[6]; /* Time logged onto system */
char reserved_3[2]; /* Reserved */
char private_door[2]; /* Access to private DOOR */
char transfer[2]; /* Transfer function */
char daily_exit_date[10]; /* Last daily exit date */
char daily_exit_time[5]; /* Last daily exit time */
char reliable[2]; /* Reliable mode */
char reserved_4[36]; /* Reserved */
};
struct bbs_options /* USER OPTION INFORMATION */
{
int logins; /* Times logged on */
int last_msg; /* Last message read */
char protocol[1]; /* Transfer protocol */
char graphics[1]; /* Graphics mode */
int margins; /* Margin size */
int bit_flags; /* Access options */
int subscription; /* Date subscription started */
char page_length; /* Page length (binary) */
char reserved[1]; /* Reserved */
};
#define BBS_OPTION_BIT_15 0x8000
#define BBS_OPTION_BIT_14 0x4000
#define BBS_OPTION_BIT_13 0x2000
#define BBS_OPTION_BIT_12 0x1000
#define BBS_OPTION_BIT_11 0x0800
#define BBS_OPTION_BIT_10 0x0400
#define BBS_OPTION_BIT_9 0x0200
#define BBS_OPTION_QUESTIONARE 0x0100
#define BBS_OPTION_AUTODOWN 0x0080
#define BBS_OPTION_FILES 0x0040
#define BBS_OPTION_BULLETINS 0x0020
#define BBS_OPTION_LF 0x0010
#define BBS_OPTION_CASE 0x0008
#define BBS_OPTION_NULLS 0x0004
#define BBS_OPTION_EXPERT 0x0002
#define BBS_OPTION_BELL 0x0001
struct bbs_user /* USER INFORMATION */
{
char name[31]; /* Users name */
char password[15]; /* Users password */
int security; /* Security level */
struct bbs_options options; /* User options */
char residence[24]; /* City and state */
char reserved[19]; /* Reserved */
char last_on[14]; /* Date & time last on */
char last_dir[3]; /* Date last listed directory*/
int downloads; /* Total downloads */
int uploads; /* Total uploads */
int elapsed; /* Elapsed time user was on */
};
/* RBBS 16 user information */
/* Line 1 --> Name of RBBS system */
/* Line 2 --> SysOps first name */
/* Line 3 --> SysOps last name */
/* Line 4 --> Comm port name */
/* Line 5 --> Comm port parameters */
/* Line 6 --> Network type */
/* Line 7 --> Users first name */
/* Line 8 --> Users last name */
/* Line 9 --> Users city/state */
/* Line 10 --> Graphics */
/* Line 11 --> Security level */
/* Line 12 --> Time remaining in minutes */
struct pcbbs_data /* PC-BOARD 12.1 INFORMATION */
{
char display[2]; /* Display On/Off (-1/0) */
char printer[2]; /* Printer On/Off (-1/0) */
char page_bell[2]; /* Page Bell On/Off (-1/0) */
char caller_alarm[2]; /* Caller Alarm On/Off (-1/0)*/
char sysop_next[2]; /* Sysop Next-On Flag */
char bps[4]; /* CONNECT bps rate of caller*/
char name[27]; /* Name of caller plus 2 spcs*/
char first[15]; /* Callers first name padded */
char graphics[2]; /* Graphics Mode (-1/0) */
char password[12]; /* Password of caller */
int user_index; /* User's Record # in DBase */
long connect_time; /* Time logged on in seconds */
long max_time; /* Allowed time in seconds */
long door_time; /* Time Exited to DOOR in sec*/
char logon[5]; /* Time logged on (hh:mm) */
int conference; /* Confer. exited to DOS from*/
int conf_flags; /* Conf. 1-9 "joined flags" */
int conf_time; /* Conference Time Add */
char dload_limit[8]; /* Daily Download Byte Limit */
int uload_credit; /* Upload time credit */
char language[4]; /* Language beging used */
char ecr_modem[2]; /* Error Corr. Modem (-1/0) */
char chat; /* Last Node CHAT Flag Status*/
};
struct pcbbs2_data /* PC-BOARD 14.0 INFORMATION */
{
char display[2]; /* Display On/Off (-1/0) */
char printer[2]; /* Printer On/Off (-1/0) */
char page_bell[2]; /* Page Bell On/Off (-1/0) */
char caller_alarm[2]; /* Caller Alarm On/Off (-1/0)*/
char sysop_next; /* Sysop Next-On Flag */
char ecr_modem[2]; /* Error Corr. Modem (-1/0) */
char graphics; /* Graphics Mode (1/0) */
char chat; /* Last Node CHAT Flag Status*/
char bps_open[5]; /* OPEN bps rate of caller */
char bps[5]; /* CONNECT bps rate of caller*/
int user_index; /* User's Record # in DBase */
char first[15]; /* Callers first name padded */
char password[12]; /* Password of caller */
long connect_time; /* Time logged on in secs */
char logon[5]; /* Time logged on (hh:mm) */
int max_time; /* Daily time limit in mins */
int dload_limit; /* Daily Download Byte Limit */
char conference; /* Confer. exited to DOS from*/
char conf_flags[5]; /* Conf. 1-9 "joined flags" */
char conf_scans[5]; /* Conf. 1-9 "scanned flags" */
int conf_time; /* Conference Time Add */
int uload_credit; /* Upload time credit */
char language[4]; /* Language beging used */
char name[25]; /* Name of caller plus 2 spcs*/
int time_left; /* Session time remaining */
char node; /* Node id */
char event_time[5]; /* Next event time */
char event_flag[2]; /* Event active flag */
char event_move[2]; /* Delay event till logoff? */
long msg_memory; /* Memorized message number */
char comm_port; /* Comm port number */
char reserved[2]; /* Reserved for future use */
};
/* Wildcat user information */
/* Line 1 --> User name */
/* Line 2 --> baud rate 0=2400,1=300,2=1200,3=9600 */
/* Line 3 --> User city and state */
/* Line 4 --> User Access level */
/* Line 5 --> Logon time left in minutes */
/* Line 6 --> Either COLOR or MONO user setting */
/* Line 7 --> User password */
/* Line 8 --> User Record number */
/* Line 9 --> Total minutes lon on bbs */
/* Line 10 --> Time entered door hh:mm */
/* Line 11 --> Time called bbs hh:mm */
/* Line 12 --> User confernces join */
/* Line 13 --> User daily d/l total */
/* Line 14 --> User max d/l per day */
/* Line 15 --> User daily d/l no of bytes in k */
/* Line 16 --> User max d/l in k */
/* Line 17 --> User phone number */
/* Line 18 --> Time / date last call */
/* Line 19 --> Either NOVICE or EXPERT - user mode */
/* Line 20 --> N=none, X=Xmodem, C=Xmodem/crc etc */
/* Line 21 --> Last new file search MM/DD/YY */
/* Line 22 --> User total number of call */
/* Line 23 --> User line per page or screen */
/* Line 24 --> Last msg no read */
/* Line 25 --> User total u/l since first log-on */
/* Line 26 --> User total d/l since first log-on */
/* Line 27 --> Either 7 {Databits} or 8 {Databits} */
/* Line 28 --> Either LOCAL or REMOTE */
/* GAP BBS user information */
/* Line 1 --> Comm port (COM0 = local) */
/* Line 2 --> baud rate 300 - 3800 */
/* Line 3 --> Parity 7 - 8 */
/* Line 4 --> Node number 1 - 99 */
/* Line 5 --> Host modem locked flag Y - N */
/* Line 6 --> Screen display Y - N */
/* Line 7 --> Printer toggle Y - N */
/* Line 8 --> Page bell Y - N */
/* Line 9 --> Caller alarm Y - N */
/* Line 10 --> User full name */
/* Line 11 --> User city and state */
/* Line 12 --> Home phone number */
/* Line 13 --> Work/data phone number */
/* Line 14 --> User password */
/* Line 15 --> User security level */
/* Line 16 --> Total times on BBS */
/* Line 17 --> Last date user called BBS */
/* Line 18 --> Seconds remaining this call */
/* Line 19 --> Minutes remaining this call */
/* Line 20 --> Graphics mode GR, NG, 7E */
/* Line 21 --> Page length */
/* Line 22 --> User expert flag Y - N */
/* Line 23 --> Conferences registered in */
/* Line 24 --> Conference exited door from */
/* Line 25 --> User expiration date */
/* Line 26 --> Users file record number */
/* Line 27 --> Default xfer protocol */
/* Line 28 --> Total uploads */
/* Line 29 --> Total downloads */
/* Line 30 --> Daily download K total */
/* Line 31 --> Daily download max K */
/* WWIV user information */
/* Line 1 --> User number */
/* Line 2 --> Users alias */
/* Line 3 --> Users real name */
/* Line 4 --> Amateur radio callsign */
/* Line 5 --> Age */
/* Line 6 --> Sex (M/F) */
/* Line 7 --> Gold (game credits) */
/* Line 8 --> Last date on BBS */
/* Line 9 --> Width of screen */
/* Line 10 --> Lines in screen */
/* Line 11 --> Security level */
/* Line 12 --> SysOp flag */
/* Line 13 --> Co-SysOp flag */
/* Line 14 --> ANSI graphics flag */
/* Line 15 --> Remote user flag */
/* Line 16 --> Time remaining in seconds (float) */
/* Line 17 --> General text file directory */
/* Line 18 --> Data file directory */
/* Line 19 --> Path/Filename for text sysop log */
/* Line 20 --> Current baud rate (KB = local) */
/* Line 21 --> Comm port number */
struct bbs_access /* TIME OPTION INFORMATION */
{
long start_time; /* Start of game period */
int levels[8]; /* Play times per level */
};
struct bbs_time /* TIME OPTION INFORMATION */
{
long sysop_start; /* SysOp starting time */
long sysop_stop; /* SysOp ending time */
int levels[8]; /* Security levels */
int dayt[8]; /* Daily time limits */
int dayg[8]; /* Daily game limits */
int wait[8]; /* Time between games */
struct bbs_access access[8]; /* Times for play */
};
/*
*
* Global Data Section
*
*/
/* Remote User Data */
FILE *remote_io; /* Comm port stream */
int remote_user = 0; /* Comm port number */
/* BBS Data */
int bbs_active = 0; /* BBS active */
char bbs_dir[80]; /* BBS home directory */
struct bbs_node bbs_node_info; /* BBS node information */
struct bbs_user bbs_user_info; /* BBS user information */
struct pcbbs_data pcbbs_user_info; /* PCB12.1 user information */
struct pcbbs2_data pcbbs2_user_info; /* PCB14.0 user information */
char ascii_user_info[35][128]; /* Wildcat user information */
struct bbs_time bbs_time_info; /* BBS door access times */
/* Monitor Data */
FILE *mon_inp; /* Input parameters */
FILE *mon_out; /* Output parameters */
int mon_active = 0; /* Monitor active */
long mon_signoff; /* time to signoff at */
int mon_user = -1; /* monitor user # */
int mon_points = 0; /* current player score */
int mon_max_play = 30; /* time to play in mins */
int mon_nulls = 0; /* number of nulls required */
int mon_graphics = 0; /* monitor graphics flag */
char mon_dir[40] = {"\0"}; /* monitor subdirectory */
char mon_sound[40] = {"Y"}; /* monitor sound flag */
/* User Data */
int user_node = 0; /* current node */
char user_name[32]; /* users name */
char user_game_date[12] = {"Jan 01 1900"}; /* last day user player */
long user_game_end; /* last time user played */
long user_day_time = 0L; /* time user played */
int user_day_games = 0; /* games user played */
long user_start = 0L; /* time user started game */
long user_signon = 0L; /* time user signed on */
long user_signoff = 0L; /* time to signoff at */
int user_points = 0; /* current player score */
int user_security = 0; /* user security level */
int user_nulls = 0; /* number of nulls required */
int user_graphics = 0; /* graphics flag */
int user_caps = 0; /* caps only flag */
int user_page = 22; /* user page length */
int user_access_level = -1; /* user game access level */
/* Global Buffers & Flags */
char dminbuff[1024]; /* Line buffer */
char dmoutbuff[512]; /* Line buffer */